<template>
    <div>
        <header class="home-header wrap" :class="{'active' : headerScroll}">
            <router-link tag="i" to="./category">
                <van-icon class="nbicon nbmenu2" name="goods-collect" color="#7b2aba" size="1rem"/>
            </router-link>
            <div class="header-search">
                <span class="app-name">Ava商城</span>
                <van-icon name="search"/>
                <router-link tag="span" class="search-title" to="./product-list?from=home">输入关键词以搜索商品</router-link>
            </div>
            <router-link class="login" tag="span" to="./login" v-if="!isLogin && $store.getters.name === ''">登录
            </router-link>
            <router-link class="login" tag="span" to="./user" v-else>
                <van-icon name="manager-o"/>
            </router-link>
        </header>
        <nav-bar></nav-bar>
        <swiper :list="swiperList"></swiper>
        <div class="category-list">
            <div v-for="item in categoryList" v-bind:key="item.categoryId" @click="selectCategory(item)">
                <img v-lazy="item.logo">
                <span>{{item.name}}</span>
            </div>
        </div>
        <div class="good">
            <header class="good-header">新品上线</header>
            <div class="good-box">
                <div class="good-item" v-for="item in newGoodses" :key="item.goodsId" @click="goToDetail(item)">
                    <img v-lazy="prefix(item.pic)" alt="">
                    <div class="good-desc">
                        <div class="title">{{ item.name }}</div>
                        <div class="price">¥ {{ item.price }}</div>
                    </div>
                </div>
            </div>
        </div>
        <div class="good">
            <header class="good-header">热门商品</header>
            <div class="good-box">
                <div class="good-item" v-for="item in hots" :key="item.goodsId" @click="goToDetail(item)">
                    <img v-lazy="prefix(item.pic)" alt="">
                    <div class="good-desc">
                        <div class="title">{{ item.name }}</div>
                        <div class="price">¥ {{ item.price }}</div>
                    </div>
                </div>
            </div>
        </div>
        <div class="good">
            <header class="good-header">全部商品</header>
            <div class="good-box">
                <div class="good-item" v-for="item in recommends" :key="item.goodsId" @click="goToDetail(item)">
                    <img v-lazy="prefix(item.pic)" alt="">
                    <div class="good-desc">
                        <div class="title">{{ item.name }}</div>
                        <div class="price">¥ {{ item.price }}</div>
                    </div>
                </div>
            </div>
        </div>
        <van-divider/>
        <br>
        <br>
    </div>
</template>

<script>
    import navBar from '../../components/NavBar'
    import swiper from '../../components/Swiper'
    import {homeContent, recommendList} from '../../api/home'


    export default {
        name: "home",
        data() {
            return {
                swiperList: {},
                categoryList: [],
                isLogin: false,
                headerScroll: false,
                hots: [],
                newGoodses: [],
                recommends: [],
                refreshing: false,
            }
        },
        components: {
            navBar,
            swiper
        },
        created() {
            this.getList();
        },
        methods: {
            getList() {
                homeContent().then(res => {
                    // this.swiperList = res.data.advertiseList[1];
                    this.categoryList = res.data.brandList;
                    this.newGoodses = res.data.newProductList;
                    this.hots = res.data.hotProductList;
                })
                recommendList().then(res => {
                    this.recommends = res.data.data
                })
            },
            //商品详情
            goToDetail(item) {
                this.$router.push({ path: `product/${item.id}` })
            },
            selectCategory(item){
                this.$router.push({path: `product-list?brandId=${item.id}&name=${item.name}`}).catch(err => {
                    // console.log(err)
                })
            }
        }
    }
</script>

<style lang="less" scoped>
    @import '../../common/style/mixin';

    .home-header {
        position: fixed;
        left: 0;
        top: 0;
        .wh(100%, 50px);
        .fj();
        line-height: 50px;
        padding: 0 15px;
        .boxSizing();
        font-size: 15px;
        color: #fff;
        z-index: 10000;

        .nbmenu2 {
            color: @primary;
        }

        &.active {
            background: @primary;

            .nbmenu2 {
                color: #fff;
            }

            .login {
                color: #fff;
            }
        }

        .header-search {
            display: flex;
            .wh(74%, 20px);
            line-height: 20px;
            margin: 10px 0;
            padding: 5px 0;
            color: #232326;
            background: rgba(255, 255, 255, .7);
            border-radius: 20px;

            .app-name {
                padding: 0 10px;
                color: @primary;
                font-size: 20px;
                font-weight: bold;
                border-right: 1px solid #666;
            }

            .icon-search {
                padding: 0 10px;
                font-size: 17px;
            }

            .search-title {
                font-size: 12px;
                color: #666;
                line-height: 21px;
            }
        }

        .icon-iconyonghu {
            color: #fff;
            font-size: 22px;
        }

        .login {
            color: @primary;
            line-height: 52px;

            .van-icon-manager-o {
                font-size: 20px;
                vertical-align: -3px;
            }
        }
    }

    .category-list {
        display: flex;
        flex-shrink: 0;
        flex-wrap: wrap;
        width: 100%;
        padding-bottom: 13px;

        div {
            display: flex;
            flex-direction: column;
            width: 20%;
            text-align: center;

            img {
                .wh(40px, 40px);
                margin: 13px auto 8px auto;
            }
        }
    }

    .good {
        .good-header {
            background: #f9f9f9;
            height: 50px;
            line-height: 50px;
            text-align: center;
            color: @primary;
            font-size: 16px;
            font-weight: 500;
        }

        .good-box {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap;

            .good-item {
                box-sizing: border-box;
                width: 50%;
                border-bottom: 1PX solid #e9e9e9;
                padding: 10px 10px;

                img {
                    display: block;
                    width: 120px;
                    margin: 0 auto;
                }

                .good-desc {
                    text-align: center;
                    font-size: 14px;
                    padding: 10px 0;

                    .title {
                        color: #222333;
                    }

                    .price {
                        color: @primary;
                    }
                }

                &:nth-child(2n + 1) {
                    border-right: 1PX solid #e9e9e9;
                }
            }
        }
    }

    .floor-list {
        width: 100%;
        padding-bottom: 50px;

        .floor-head {
            width: 100%;
            height: 40px;
            background: #F6F6F6;
        }

        .floor-content {
            display: flex;
            flex-shrink: 0;
            flex-wrap: wrap;
            width: 100%;
            .boxSizing();

            .floor-category {
                width: 50%;
                padding: 10px;
                border-right: 1px solid #dcdcdc;
                border-bottom: 1px solid #dcdcdc;
                .boxSizing();

                &:nth-child(2n) {
                    border-right: none;
                }

                p {
                    font-size: 17px;
                    color: #333;

                    &:nth-child(2) {
                        padding: 5px 0;
                        font-size: 13px;
                        color: @primary;
                    }
                }

                .floor-products {
                    .fj();
                    width: 100%;

                    img {
                        .wh(65px, 65px);
                    }
                }
            }
        }
    }
</style>
